package com.starlinkdt.common.mapper.system;

import com.starlinkdt.common.domain.system.entity.OaiPerm;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * OAI权限表 数据层
 * 
 * @author system
 */
public interface OaiPermMapper
{
    /**
     * 查询OAI权限列表
     *
     * @param oaiPermSearch OAI权限
     * @return OAI权限集合
     */
    public List<OaiPerm> selectOaiPermList(OaiPerm oaiPermSearch);

    /**
     * 查询OAI权限
     *
     * @param permBizNo OAI权限唯一编码
     * @return OAI权限
     */
    public OaiPerm selectOaiPermByPermBizNo(String permBizNo);

    /**
     * 查询OAI权限
     *
     * @param accBizNo OAI账户唯一编码
     * @param servBizNo OAI服务唯一编码
     * @return OAI权限
     */
    public OaiPerm selectOaiPermByAccServ(@Param("accBizNo") String accBizNo, @Param("servBizNo") String servBizNo);

    /**
     * 查询OAI权限
     *
     * @param servBizNos OAI服务唯一编码
     * @return OAI权限
     */
    public List<OaiPerm> selectOaiPermByServBizNos(@Param("servBizNos") String[] servBizNos);

    /**
     * 新增OAI权限
     *
     * @param oaiPerm OAI权限
     */
    public int insertOaiPerm(OaiPerm oaiPerm);

    /**
     * 修改OAI权限
     *
     * @param oaiPerm OAI权限
     */
    public int updateOaiPermByPermBizNo(OaiPerm oaiPerm);

    /**
     * 改变OAI权限状态
     *
     * @param permBizNos OAI权限唯一编码
     * @param status OAI权限状态
     * @param updateBy 操作用户
     */
    public int updateOaiPermStatusByPermBizNos(@Param("permBizNos") String[] permBizNos, @Param("status") String status, @Param("updateBy") String updateBy);

    /**
     * 删除OAI权限
     *
     * @param permBizNo OAI权限唯一编码
     * @param updateBy 操作用户
     */
    public int deleteOaiPermByPermBizNo(@Param("permBizNo") String permBizNo, @Param("updateBy") String updateBy);

    /**
     * 批量删除OAI权限
     *
     * @param permBizNos OAI权限唯一编码
     * @param updateBy 操作用户
     */
    public int deleteOaiPermByPermBizNos(@Param("permBizNos") String[] permBizNos, @Param("updateBy") String updateBy);

}
